Wait-Free and Obstruction-Free Snapshot
نویسندگان
چکیده
The snapshot problem was first proposed over a decade ago [1, 2] and has since been well-studied in the distributed algorithms community [4, 5, 6, 7, 8, 9, 12, 13, 14, 17, 18]. The challenge is to design a data structure consisting of m components, shared by upto n concurrent processes, that supports two operations. The first, Update(i, v), atomically writes v to the ith component. The second, Scan(), returns an atomic snapshot of all m components. We consider two termination properties: wait-freedom, which requires a process to always terminate in a bounded number of its own steps, and the weaker obstruction-freedom, which requires such termination only for processes that eventually execute uninterrupted [10]. First, we present a simple, time and space optimal, obstruction-free solution to the singlewriter, multi-scanner version of the snapshot problem (wherein concurrent Updates never occur on the same component). Second, we assume hardware support for compare&swap (CAS) to give a time-optimal, wait-free solution to the multi-writer, single-scanner snapshot problem (wherein concurrent Scans never occur). This algorithm uses only O(mn) space and has optimal CAS, write and remote-reference complexities. Additionally, it can be augmented to implement a general snapshot object with the same time and space bounds, thus improving the space complexity of O(mn2) of the only previously known time-optimal solution [14]. Snapshot algorithm Primitive used Update time Scan time Space This paper CAS or LL/SC O(1) O(m) O(mn) Afek et al. [1] read/write O(mn) O(mn) O(mn+ n) Anderson [2] read/write O(2) O(2) O(mn log n) Haldar and Vidyasankar [9] read/write O(mn) O(mn) O(mn) Jayanti [13] CAS or LL/SC O(m) O(m) O(mn) Jayanti [14] CAS or LL/SC O(1) O(m) O(mn) Table 1: Comparison of multi-writer snapshot algorithms. Snapshot algorithm Primitive used Update time Scan time Space Afek et al. [1] read/write O(n) O(n) O(n) Anderson [2] read/write O(2) O(2) O(n log n) Aspnes and Herlihy [4] read/write O(n) O(n) O(n) Attiya et al. [5] test&set O(n) O(n) ∞ Attiya and Rachman [6], read/write O(n log n) O(n log n) ∞ uses unbounded registers Chandra and Dwork [7] CAS or LL/SC O(n) O(n) ∞ Dwork et al. [8], weak snapshot read/write O(n) O(n) O(n) Haldar and Vidyasankar [9] read/write O(n) O(n) O(n) Israeli et al. [12] read/write O(n) O(n log n) O(n) Kirousis et al. [17], single-scanner read/write O(1) O(n) O(n) Riany et al. [18] CAS or LL/SC, O(1) O(n) O(n) and fetch&inc Table 2: Comparison of single-writer snapshot algorithms.
منابع مشابه
Obstruction - free Snapshot , Obstruction - free Consensus , and Fetch - and - add Modulo k Jack Bowman Advisor : Prasad Jayanti
In this thesis we design algorithms for three problems: snapshot, consensus, and fetch-and-add modulo k. Our solutions for snapshot and consensus are non-anonymous and obstruction-free, and our solution for Fetch-and-add Modulo k is wait-free. We also conjecture an anonymous, obstruction-free solution to consensus.
متن کاملRevisionist Simulations: A New Approach to Proving Space Lower Bounds
Determining the number of registers required for solving x-obstruction-free (or randomized wait-free) k-set agreement for x ≤ k is an open problem that highlights important gaps in our understanding of the space complexity of synchronization. In x-obstruction-free protocols, processes are required to return in executions where at most x processes take steps. The best known upper bound on the nu...
متن کاملTowards a Necessary and Sufficient Condition for Wait-free Synchronization (Extended Abstract)
We deene a class of shared objects called snapshot objects, and give a necessary and suucient condition for the existence of a wait-free implementation of such objects from atomic registers. Snapshot objects can be accessed by means of a read operation that returns the entire object state, or by a set of operations that do not return values. Our condition for the existence of a wait-free implem...
متن کاملSimple Wait-Free Snapshots for Real-Time Systems with Sporadic Tasks1
A wait-free algorithm for implementing a snapshot mechanism for real-time systems is presented in this paper. Snapshot mechanisms give the means to a real-time task to read a globally consistent set of variable values while other concurrent tasks are updating them. Such a mechanism can be used to solve a variety of communication and synchronisation problems, including system monitoring and cont...
متن کاملThe Read/Write Protocol Complex Is Collapsible
The celebrated asynchronous computability theorem provides a characterization of the class of decision tasks that can be solved in a wait-free manner by asynchronous processes that communicate by writing and taking atomic snapshots of a shared memory. Several variations of the model have been proposed (immediate snapshots and iterated immediate snapshots), all equivalent for wait-free solution ...
متن کامل